In a conventional desktop personal computer system with multiple central processing units (CPUs), each of the multiple CPUs includes a core configured to execute an instance of an operating system (OS) such as Microsoft Windows. A single image of the OS is run across all the cores, i.e. symmetric multiprocessing (SMP). Each of the CPUs is coupled via a memory management unit (MMU), typically a hardware circuit, to a shared memory space. In concert with the OS, the MMU provides seamless sharing of dynamically allocated memory space (both shared physical memory and shared virtual memory address space) among the multiple CPUs.
In addition, each of the multiple CPUs typically contains a cache, circuitry, and appropriate protocols (e.g., MESI protocol) for maintaining cache coherence. Cache coherence generally allows one CPU to update a location in shared memory and all other CPUs to be made aware of the update. Cache coherence allows the multiple CPUs to share processing loads, since each CPU can operate on current data regardless of whether the data is resident in cache or in memory coupled to the CPU, in memory coupled to some other CPU, or in some other CPU's cache.